# -*- coding:utf-8 -*-
"""Created By Corvo"""


class ModEnum(object):
    """模组枚举"""
    # 模组名称
    MOD_IDENTIFIER = "beast5"
    # 模组路径
    SCRIPT_DIR = "scripts_beast5"


class ModItem(object):
    """模组物品"""
    # 精华
    essential_gold_frog = "beast:essential_gold_frog"  # §6精灵精华:§金雷鸣蛙
    essential_water_bee = "beast:essential_water_bee"  # §6精灵精华:§水刺皇蜂
    essential_wood_mouse = "beast:essential_wood_manis"  # §6精灵精华:§木岩鳞鼠
    essential_earth_chomper = "beast:essential_earth_chomper"  # §6精灵精华:§土啃灵藤
    essential_gold_chomper = "beast:essential_gold_chomper"  # §6精灵精华:§金啃灵藤
    essential_fire_sloth = "beast:essential_fire_sloth"  # §6精灵精华:§火睡爪獭
    essential_earth_bull = "beast:essential_earth_bull"  # §6精灵精华:§土怒犄牛


class ModBlock(object):
    """模组方块"""


class ModEntity(object):
    """模组生物"""
    # 精灵
    gold_frog = "beast:gold_frog"  # 金雷鸣蛙
    water_bee = "beast:water_bee"  # 水刺皇蜂
    wood_mouse = "beast:wood_manis"  # 木岩鳞鼠
    earth_chomper = "beast:earth_chomper"  # 土啃灵藤
    gold_chomper = "beast:gold_chomper"  # 金啃灵藤
    fire_sloth = "beast:fire_sloth"  # 火睡爪獭
    earth_bull = "beast:earth_bull"  # 土怒犄牛

    # 灵兽(灵兽命名是有规则的-->"精灵_精灵")
    # 之前版本有一个"黑翼铠角兽"是会飞的，如果要加入飞行的灵兽，可以参考这个
    mantis_chomper = "beast:mantis_chomper"  # 巨斧啃灵兽
    bear_crocodile = "beast:bear_crocodile"  # 威烈蛟尾兽
    bear_bull = "beast:bear_bull"  # 威烈怒犄兽
    turtle_frog = "beast:turtle_frog"  # 锐壳雷鸣兽
    frog_bee = "beast:frog_bee"  # 雷鸣刺皇兽
    frog_manis = "beast:frog_manis"  # 雷鸣岩鳞兽
    sloth_manis = "beast:sloth_manis"  # 睡爪岩鳞兽
    manis_velociraptor = "beast:manis_velociraptor"  # 岩鳞迅猛兽
    snake_chomper = "beast:snake_chomper"  # 毒牙啃灵兽
    inkfish_mantis = "beast:inkfish_mantis"  # 墨脚巨斧兽


class ModExtraData(object):
    """模组额外数据"""
    EssentialItem = []
    ModuleItem = []
    # 模组灵兽
    ModCombineEntity = [
        ModEntity.mantis_chomper,
        ModEntity.bear_crocodile,
        ModEntity.bear_bull,
        ModEntity.turtle_frog,
        ModEntity.frog_bee,
        ModEntity.frog_manis,
        ModEntity.sloth_manis,
        ModEntity.manis_velociraptor,
        ModEntity.snake_chomper,
        ModEntity.inkfish_mantis,

    ]


class ModTag(object):
    """模组标签"""


class ModFilter(object):
    """模组过滤器"""


class ModEffect(object):
    """模组自定义效果"""


class ModAttr(object):
    """模组自定义属性"""


class ModFog(object):
    """模组迷雾配置"""


class ModMolang(object):
    """模组使用Molang值"""
    capture = "query.mod.beast_capture"
    claw = "query.mod.beast_claw"
    equip_claw = "query.mod.equip_skill_claw"
    element_gold = "query.mod.element_gold"
    element_wood = "query.mod.element_wood"
    element_water = "query.mod.element_water"
    element_fire = "query.mod.element_fire"
    element_dirt = "query.mod.element_dirt"
    element_machine1 = "query.mod.element_machine1"
    element_machine2 = "query.mod.element_machine2"
    element_machine3 = "query.mod.element_machine3"

    # version 11
    giant_state = "query.mod.giant_state"
    giant_skill = "query.mod.giant_skill"
    giant_type = "query.mod.giant_type"

    AllMolang = [
        capture,
        claw,
        equip_claw,
        element_gold,
        element_wood,
        element_water,
        element_fire,
        element_dirt,
        element_machine1,
        element_machine2,
        element_machine3,
        giant_state,
        giant_skill,
        giant_type,
    ]


class ModDimension(object):
    """模组维度配置"""
    Arena = 20221207  # 竞技场维度


# -----------------------------------------------------------------------------------

class ModServer(object):
    """模组服务端配置"""
    OnPlayerUpdateBeastStoneEffectEvent = "OnPlayerUpdateBeastStoneEffectEvent"
    OnActiveCrazyNightEvent = "OnActiveCrazyNightEvent"
    OnDeactiveCrazyNightEvent = "OnDeactiveCrazyNightEvent"
    RequestCheckCrazyNightEvent = "RequestCheckCrazyNightEvent"
    RequestBindEntityEffectEvent = "RequestBindEntityEffectEvent"
    RequestUnBindEntityEffectEvent = "RequestUnBindEntityEffectEvent"
    RequestRetrieveCombineEntityEvent = "RequestRetrieveCombineEntityEvent"
    RequestBindLockAimEntityEvent = "RequestBindLockAimEntityEvent"
    RequestTpPlayerToSaintEvent = "RequestTpPlayerToSaintEvent"
    RequestUpdateTriCombineEvent = "RequestUpdateTriCombineEvent"
    # 作弊
    RequestActiveShop = "RequestActiveShop"  # 请求激活商店npc动作
    RequestCheatOnCaptureCDEvent = "RequestCheatOnCaptureCDEvent"
    # 只读
    OnUpdateClawModuleEvent = "OnUpdateClawModuleEvent"
    OnSkillClawFinishedUpgradeEvent = "OnSkillClawFinishedUpgradeEvent"
    OnPlayerUsingPowerItemEvent = "OnPlayerUsingPowerItemEvent"
    OnPlayerFinishedArenaEvent = "OnPlayerFinishedArenaEvent"
    OnPlayerEquipSkillClawEvent = "OnPlayerEquipSkillClawEvent"
    OnPlayerBuyGoodsEvent = "OnPlayerBuyGoodsEvent"
    OnUpdateBeastPresetGroupEvent = "OnUpdateBeastPresetGroupEvent"
    OnPlayerSoulPriceChangeEvent = "OnPlayerSoulPriceChangeEvent"
    OnUnlockBeastBookEvent = "OnUnlockBeastBookEvent"
    RequestUpdateBeastBagEvent = "RequestUpdateBeastBagEvent"
    OnPlayerStartRideCombineEntityEvent = "OnPlayerStartRideCombineEntityEvent"
    OnPlayerStopRideCombineEntityEvent = "OnPlayerStopRideCombineEntityEvent"
    ServerRequestPlayMusic = "ServerRequestPlayMusic"
    OnCapturedNewMobEvent = "OnCapturedNewMobEvent"
    OnSelectedNewElementMobEvent = "OnSelectedNewElementMobEvent"
    OnSelectedNewDomainMobEvent = "OnSelectedNewDomainMobEvent"
    OnPlayerActiveBeastArenaEvent = "OnPlayerActiveBeastArenaEvent"
    OnBeastMonkeyChangeElementEvent = "OnBeastMonkeyChangeElementEvent"
    OnBeastChallengeActiveEvent = "OnBeastChallengeActiveEvent"
    # -----------------------------------------------------------------------------------
    RequestSynPowerSkillDataEvent = "RequestSynPowerSkillDataEvent"
    RequestPlayerDelBeastSoulEvent = "RequestPlayerDelBeastSoulEvent"
    RequestShuntDownMatchScreenEvent = "RequestShuntDownMatchScreenEvent"
    RequestRenderPlayerAnimEvent = "RequestRenderPlayerAnimEvent"
    RequestSetTrackTargetEvent = "RequestSetTrackTargetEvent"
    RequestSetCombineShootEffectEvent = "RequestSetCombineShootEffectEvent"
    RequestGetBeastPlayerInsEvent = "RequestGetBeastPlayerInsEvent"
    RequestUpdateHudScreenEvent = "RequestUpdateHudScreenEvent"
    RequestSetBeastFloatTipEvent = "RequestSetBeastFloatTipEvent"


class ModClient(object):
    """模组客户端配置"""
    RequestBeastCrazyNightEvent = "RequestBeastCrazyNightEvent"


class ModUI(object):
    """模组UI配置"""
    RequestActiveCombineMobSkillEvent = "RequestActiveCombineMobSkillEvent"
    RequestTpChallengeEvent = "RequestTpChallengeEvent"
    RequestUsingPowerSkillEvent = "RequestUsingPowerSkillEvent"
    RequestUsingHookEvent = "RequestUsingHookEvent"
    RequestUpdateClawModuleEvent = "RequestUpdateClawModuleEvent"
    RequestUpgradeSkillClawEvent = "RequestUpgradeSkillClawEvent"
    RequestSwitchMonkeyElementEvent = "RequestSwitchMonkeyElementEvent"
    RequestUseTowerBlockEvent = "RequestUseTowerBlockEvent"
    RequestUseShieldSkillEvent = "RequestUseShieldSkillEvent"
    RequestUsePresetGroupEvent = "RequestUsePresetGroupEvent"
    RequestSavePresetGroupEvent = "RequestSavePresetGroupEvent"
    RequestBeastShopSellItemEvent = "RequestBeastShopSellItemEvent"
    RequestBeastShopBuyItemEvent = "RequestBeastShopBuyItemEvent"
    RequestCheckPetEntityEvent = "RequestCheckPetEntityEvent"
    RequestBindLockAimEntityEvent = "RequestBindLockAimEntityEvent"
    RequestUseTableBlockEvent = "RequestUseTableBlockEvent"
    RequestCancelAimEntityEvent = "RequestCancelAimEntityEvent"
    RequestSetBeastFloatEvent = "RequestSetBeastFloatEvent"
    RequestDelSpriteEntityEvent = "RequestDelSpriteEntityEvent"
    RequestLockAimEntityEvent = "RequestLockAimEntityEvent"
    RequestRetrieveCombineMobEvent = "RequestRetrieveCombineMobEvent"
    RequestShootCombineMobEvent = "RequestShootCombineMobEvent"
    RequestUsingCaptureEvent = "RequestUsingCaptureEvent"
    RequestCancelSelectedElementEvent = "RequestCancelSelectedElementEvent"
    RequestSelectedElementMobEvent = "RequestSelectedElementMobEvent"
    RequestSwitchSelectedElementEvent = "RequestSwitchSelectedElementEvent"
    # custom_ui_key = "custom_ui"
    # custom_ui_cls = "scripts_beast.ui.hud.CustomUiScreen"
    # custom_ui_namespace = "%s.main" % custom_ui_key
    # custom_ui_config = (ModEnum.MOD_IDENTIFIER, custom_ui_key, custom_ui_cls, custom_ui_namespace)
